<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
     <!-- jquery -->
     <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
</head>
<body>
    <!-- -----------------------------三级联动----------------------------------------- -->

            <!-- <select class="form-control" id="province">
                <option value="">请选择省份</option>
            </select>
            <select class="form-control" id="city">
                <option>请选择市区</option>
            </select>
            <select class="form-control" id="area">
                <option>请选择区县</option>
            </select> -->
            <!-- ---------------------------全选反选------------------------------------------- -->
            <!-- <input type="checkbox" id="all" /> 全选
            <button class="btn btn-default" id="fan" />反选</button>
            <br />
            <input type="checkbox" name="childbox" />1 <input type="checkbox" name="childbox" />2
            <input type="checkbox" name="childbox"/>3 <input type="checkbox" name="childbox" />4
            <input type="checkbox" name="childbox"/>5 -->
</body>
<script>
    // ----------------------------三级联动----------------------------------------------
        // var pIndex = 0
        // $(function () {
        //     showProvince()
        //     $('#province').change(function () {
        //         let index = $(this).val()
        //         pIndex = index
        //         showCity()
        //     })
        //     $('#city').change(function () {
        //         let index = $(this).val() //获取当前选中的城市的索引
        //         showArea(index)
        //     })
        // })

        // function showProvince() {
        //     let html = '<option value="">请选择省份</option>'
        //     citys.forEach((item, index) => {
        //         html += `<option value="${index}">${item.name}</option>`
        //     })
        //     $('#province').html(html)
        // }
        // function showCity() {
        //     $('#area').html('<option>请选择区县</option>')
        //     let data = citys[pIndex].city
        //     let html = '<option value="">请选择区市</option>'
        //     data.forEach((item, areaIndex) => {
        //         html += `<option value="${areaIndex}" >${item.name}</option>`
        //     })
        //     $('#city').html(html)
        // }
        // function showArea(cIndex) {
        //     console.log(cIndex, pIndex)
        //     let data = citys[pIndex].city[cIndex].area
        //     let html = '  <option>请选择区县</option>'
        //     data.forEach((item, index) => {
        //         html += `<option value="${index}">${item}</option>`
        //     })
        //     $('#area').html(html)
        // }
        // --------------------------------------全选反选------------------------------------
        // $(function(){
        //     $('#all').change(function(){
        //         $('input[name="childbox"]').prop('checked', $(this).prop('checked'));
        //     })
        //     $('input[name="childbox"]').change(checkFun)
        //     $('#fan').click(function(){
        //         $('input[name="childbox"]').each(function(){
        //             $(this).prop('checked', !$(this).prop('checked'));
        //         })
        //         checkFun()
        //     })
        // })
        // function checkFun(){
        //         $('#all').prop('checked', $('input[name="childbox"]:checked').length == $('input[name="childbox"]').length);
        // }
        // --------------------------------递归数组------------------------------------------
        // var nums = [
        //     1,
        //     2,
        //     [3, 4, [5, [2, 9], [8, 0, [6, [7, [12], 6], 5], 1], 1], 5],
        //     123,
        // ]
        // //使用递归的方式将数组中的所有数字都打印出来
        // //闭包 递归
        // function fun() {
        //     let tmp = []
        //     function n(arr) {
        //         arr.forEach((item) => {
        //             if (Array.isArray(item)) {
        //                 n(item)
        //             } else {
        //                 tmp.push(item)
        //             }
        //         })
        //         return tmp
        //     }
        //     return n
        // }
        // let n = fun()
        // let res = n(nums)
        // console.log(res)
</script>
</html>